#include "sensor_driver.h"
#include <stdio.h>
#include <stdbool.h>

// 定义传感器缓存
#define BUFFER_SIZE 100
int sensor_buffer[BUFFER_SIZE];
int sensor_buffer_index = 0;

// 每次读取一个数据并存储到缓存中
void spi_interrupt_handler() {
    int data = 0; // 从传感器读取的数据
    // 这里假设每次从传感器读取一个数据
    data = read_spi_data();
    if (sensor_buffer_index < BUFFER_SIZE) {
        sensor_buffer[sensor_buffer_index++] = data;
    } else {
        sensor_buffer_index = (sensor_buffer_index) % BUFFER_SIZE; // 移动缓冲区索引，覆盖最早的数据
        sensor_buffer[sensor_buffer_index++] = data;
    }
}
int read_spi_data()
{
    return 0;
}

void init_spi()
{

}

void register_spi_interrupt_handler()
{

}
// 初始化传感器设备
void sensor_init() {
    // 初始化SPI接口
    init_spi();
    // 注册SPI中断处理程序
    register_spi_interrupt_handler(spi_interrupt_handler);
}

// 读取传感器数据
int read_sensor_data() {
    if (sensor_buffer_index > 0) {
        // 从缓存中读取最新的传感器数据
        return sensor_buffer[--sensor_buffer_index];
    } else {
        // 缓存中没有数据
        return -1;
    }
}
